package models

import "github.com/gin-gonic/gin"

type CurrentUser struct {
	UserId int64 `json:"userId"`
	IsAuth int   `json:"isAuth"`
	Role   int   `json:"role"`
}

func (u *CurrentUser) IsLogin() bool {
	return u.UserId != 0
}

func (u CurrentUser) GetUserId() (userId int64, isLogin bool) {
	if u.IsLogin() {
		return u.UserId, true
	}
	return 0, false
}

type LoginUser interface {
	// SetUser 设置登录用户
	SetUser(c *gin.Context, user *CurrentUser)
	// User 获取登录用户
	User(c *gin.Context) *CurrentUser
	// IsLogin 判断是否登录 登录：true 未登录：false
	IsLogin(c *gin.Context) bool
}
